#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <time.h>

#include <QMainWindow>
#include "cafftest.h"
#include "craytracer.h"
#include "cphotonmapping.h"
#include "csphere.h"
#include "cmesh.h"
#include <time.h>
namespace Ui {
	class MainWindow;
}

class MainWindow : public QMainWindow
{
	Q_OBJECT

public:
	explicit MainWindow(QWidget *parent = 0);
	~MainWindow();

private slots:
	void on_pushButton_clicked();
		void updateProgressBar();

		void on_pushButton_2_clicked();

                void on_checkBox_stateChanged(int arg1);

                void on_checkBox_2_stateChanged(int arg1);

                void on_checkBox_3_stateChanged(int arg1);

                void on_checkBox_4_stateChanged(int arg1);

                void on_pushButton_3_clicked();

public:
	Ui::MainWindow *ui;

		clock_t start, end;
		QTimer * timer;

                CRaytracer * tracer;
                CRaytracer * tracer1;
                CRaytracer * tracer2;
                CRaytracer * tracer3;
                CRaytracer * tracer4;
                CRaytracer * tracer5;
                CRaytracer * tracer6;
                CRaytracer * tracer7;

	CPhotonMapping * photonMapping;
	QGraphicsScene * scene;
        QMutex mutex;
        QMutex mutex2;
};

#endif // MAINWINDOW_H
